# 导入unittest单元测试框架
import unittest


# 创建测试类,继承unittest.TestCase类
class Demo1TestCase(unittest.TestCase):
    def test1(self):
        print('test1')

    def test2(self):
        print('test2')


class Demo2TestCase(unittest.TestCase):
    def testa(self):
        print('testa')

    def testb(self):
        print('testb')


if __name__ == '__main__':
    """
    # 普通执行方式, 所有test开头的方法都被执行
    unittest.main(verbosity=2)
    """

    """
    # testsuite 测试套件
    # addTest 加1个测试方法
    # addTest加载测试方法的顺序,就是执行的顺序
    # 创建测试套件对象
    suite = unittest.TestSuite()
    # 添加测试方法到suite
    suite.addTest(Demo2TestCase('testb'))
    suite.addTest(Demo1TestCase('test2'))
    # runner 执行器
    # 创建执行器对象
    runner = unittest.TextTestRunner(verbosity=2)
    # 执行测试套件
    runner.run(suite)
    """

    # addTests 加多个测试方法
    suite = unittest.TestSuite()
    tests = [
        Demo1TestCase('test2'),
        Demo2TestCase('testa'),
        Demo1TestCase('test1')
    ]
    # for test in tests:
    #     suite.addTest(test)
    suite.addTests(tests)

    runner = unittest.TextTestRunner(verbosity=2)
    runner.run(suite)